草庐IT

XQuery FLWOR 表达式

全部标签

javascript - 为什么赋值在 Angular 表达式中并不总是有效?

我刚刚在Angular表达式中发现了这个有趣的明显不一致:可以在表达式中执行赋值如果赋值涉及来自ngRepeat的局部变量,这将中断这可以通过使用Controller中定义的setter而不是表达式中的赋值来克服SeePlunkerdocsonexpressions似乎只是明确禁止表达式中的控制流,我没有看到任何提及上述行为的类型。我想由此得出的结论是,无论如何使用setter可能是一种更好的设计模式,但是有没有人知道关于表达式中可能的内容的更明确的引用?如果Angular单方面禁止在其中赋值,也许会更好。(一个相关的不一致是,似乎可以在表达式中递增i=i+1而不是i+=1...)

javascript - Node.js 表达 POST 404ing

我有一个使用express框架的小型node.js应用程序,但出于某种原因我无法让我的应用程序响应POST请求。在服务器日志中,我只是得到“POST/4045ms”,我不明白为什么。编辑:澄清-我的问题是app.post似乎没有做任何事情编辑2:昨晚我​​以某种方式设法解决了这个问题,但现在我不知道我是在什么时候解决的。Node.js服务器代码:varexpress=require('express'),routes=require('./routes'),user=require('./routes/user'),http=require('http'),path=require('

Javascript正则表达式查找不以 "my:"开头的单词

我正在尝试编写一个正则表达式,它会找到花括号之间不以“my:”开头的所有值。例如,我想捕获{this}而不是{my:monkey}。捕获一切的模式是:\{([^\}]*)\}我无法让它工作。到目前为止我最近的镜头是:\{[^my:]*([^\}]*)\}这会失败,因为它只忽略以“m”、“y”或“:”开头的标签。我确定我忽略了一个将“my:”视为一个block的命令..(注意:必须适用于Javascript) 最佳答案 这个应该做的:/\{((?!my:)[^}]+)\}/g查看快速演示http://jsbin.com/ujazul/

Javascript 正则表达式 - 无序字符串中的特定字符数

我正在尝试测试5次无序字符串中是否包含“3”。例如:varre=/3{5}/;re.test("333334");//returnstrueasexpectedre.test("334333");//returnsfalsesincethereisnochainof53s什么正则表达式会使第二行返回true?如果正则表达式不是对此进行测试的最佳方式,那么什么才是?谢谢! 最佳答案 尝试(str.match(/3/g)||[]).length>=5或者str.split(3).length>5其中str是您要测试的字符串。

javascript - 如何使用正则表达式仅查找数字值而不混合字母值?

我有一个等式:+8x2+10y2-99+5=99。我只需要分开数值而不混合字母字符。我使用正则表达式str.match(/[0-9]/g)获取所有数值,但对于上面的等式,结果应该是-99,5,99。 最佳答案 您可以使用可选的连字符和wordboundaries仅匹配给定表达式中的数字:varstr='+8x2+10y2-99+5=99';varmatches=str.match(/-?\b\d+\b/g);document.writeln(''+matches.join(',')+'');输出:-99,5,99RegExDemo

javascript - 如何使用正则表达式替换指定字符串以外的所有内容

为此,我一直在stackoverflow中查找,但我没有任何运气。我要使用的字符串是“xbananay”,其中“x”和“y”可以是任意长度的字母或数字的任意组合。所以我的字符串可以只是“qrstbananag”,但也可以是“abcbanana12345”。我想使用,并且只使用,javascript的替换函数来替换除“banana”之外的所有内容。我已经有一些可以找到香蕉的正则表达式,但是当我想找到其他所有东西时,替换功能将按预期替换我正在寻找的东西。示例:varfullString="qrstbananag"varstrippedBanana=fullString.replace(/(

javascript - 在 Angular ng-if 表达式中使用 &(按位与运算符)

我无法让&运算符在Angularng-if表达式中工作(与某些位标志一起使用)。假设我们有这样的HTML:如果value等于3,则按位运算应返回2,因此是一个真值。但是,Angular每次都会抛出一个SyntaxError异常。不允许操作?还是我做错了什么?链接到plunker.编辑:我已经通过使用一个简单的函数解决了我的问题:$scope.checkFlag=function(value,flag){returnvalue&flag;}但我真的不喜欢这个解决方案。有没有办法在ng-if中使用它(显然不使用函数)? 最佳答案 您不能

javascript - 将变量字符串值转换为 JavaScript 中的表达式

我正在尝试将字符串值转换为表达式,以便我可以在以下if条件下使用它:varStringVal='20>18&&"yes"=="yes"';if(StringVal){....}是否可以这样做,请建议我。谢谢 最佳答案 从用户来源获取输入并对其进行评估通常不安全,但您可以使用Function评估,或evalvarStringVal='20>18&&"yes"=="yes"';if(newFunction('return('+StringVal+')')()){console.log('ok');}Areeval()andnewFunc

javascript - 正则表达式验证angularjs中的整个多行文本

我需要一些帮助。我必须为angularjsng-pattern属性构建一个正则表达式。正则表达式必须验证文本,而不是每一行或某些片段。文本必须包含一些正好有2位小数的金额,并且每个金额都应在新行中输入。此外,每个金额前后都可以有空格。如果一行包含2个数量,则整个文本无效。例如,此文本是有效的,因为每个金额都在新行中输入:123.3412345.562.54此示例无效,因为一行包含2个金额:12.43123.322345.54124.43此示例无效,因为一个金额不包含2位小数(每个金额必须正好有2位小数):123123.43123.65我最好的尝试是^(([0-9]+[.][0-9]{2

javascript - 迷失在翻译中 - C# 正则表达式到 JavaScript 正则表达式

我在将工作中的C#正则表达式转换为JavaScript的正则表达式实现时遇到了一些问题。这是正则表达式:([a-z]+)((\d+)([a-z]+))?,?当用于"water2cups,flour4cups,salt2teaspoon"时,您应该得到:[["water","2cups","2","cups"]["flout","4cups","4","cups"]["salt","2teaspoon","2","teaspoon"]]...确实如此。在C#中。但不是在JavaScript中。我知道实现之间存在一些细微差别。要让这个表达式在JavaScript中工作,我缺少什么?更新我像